A popularization of the Internet has brought a rapid change of working environments and an explosive increase in the amount of data to be stored. Generally, a multimedia development further leads to an enlarged size of data processed in a general computer, and an amount of the data to be processed has also increased by the growing number of computer users. However, general information storage systems, e.g., a data management system of a client server connected to one server for storing and managing the data and a network file system based on a file server, are subject to limitations in processing the increased data.
In order to effectively process the increased amount of data, a RAID technology is recently employed in an information storage system. The RAID basically means one large drive is replaced by an array of small drives to maximize a maximum data transmission bandwidth by using all input/output bandwidths of the array. The RAID technology provides several levels, e.g., RAID levels 0, 3, 4 and 5 storing data by distributing the data. That is, the RAID technology employs a striping scheme, all the data being written in a disk sequentially by using the striping scheme. Thus, the parallel characteristics of the drives is enhanced by simultaneously performing I/O into the disk.
When a capacity of a system for storing data by using a striping technique is to be expanded by adding a new disk, on the other hand, the process of data is performed as follows.
FIG. 1 is a flowchart for recording data in a disk by using a conventional RAID striping technique. Referring to FIG. 1, the conventional system checks whether there is an additional disk (step 10). In case there is no additional disk and the system receives a disk writing instruction (step 14), a logic address is converted into a physical address by using an equation or a table and then writing on a disk is performed (step 16). However, in case there is an additional disk, data recorded in an existing disk is reconstituted (step 12). Next, if the system receives the disk writing instruction (step 14), writing on total disks is performed by using a striping technique (step 16). If an instruction to read out a disk is received to the system, on the other hand, reading out the total disks is performed (step 18).
FIG. 2 depicts a conventional example for rearranging existing data when a new disk is added.
When one new disk Disk3 is added during a system operation performed by using existing three disks Disk0, Disk1 and Disk2, data having addresses 0-11 recorded in the existing three disks Disk0 to Disk2 are distributed sequentially to the total four disks Disk0 to Disk3 and written in those disks by using the striping technique to thereby rearrange the data.
A conventional mapping of a logic address and a physical address is carried out in striping data by using two methods: One is to use a general equation and the other is to use a table. A first method using the general equation is the simplest one to select a corresponding disk by using the logic address and the number of disks and performing a modular operation thereto. Moreover, a position to store the logic address inside a disk (the physical address) can be obtained by dividing the logic address by the number of disks. For example, if the number of disks is three, the position to store a logic address 10 becomes a third block of a first disk by an Eq. (1) as follows;position of a disk: n % d, 10% 3=1position to store the disk: n÷d, 10÷3=3  Eq. (1)wherein d is a logic address and n represents the number of disks.
The first method has an advantage in that a mapping can be carried out simply without an aid of additional data because a position disk to store the logic address is determined by performing the modular operation by the number of the disks.
The system, however, is stopped when adding a new disk during the system operation. Then, the disk is added physically to reboot the system. Next, existing data are rearranged by using a new equation using the disk added in the system. In this case, data and parity blocks distributed and stored in existing disks are to read out by rearranging the data and are written newly on total disks including the disk re-added in accordance with an arrangement way. Therefore, in a method for mapping a logic address as a physical address by an equation, a performance of a system is deteriorated by a slow response of the system and an overhead thereof, represented from the cost of a memory for a temporary storage of data from a disk and time in reading out the disk and writing on the disk several times when rearranging the blocks.
In the meantime, a second method for using a table capable of mapping a logic address and a physical address is not influenced by a change in the number of disks. Besides, various flexibilities such as a snapshot and a correction of a position to store an error block can be provided.
TABLE 1logic addressdisk No.physical address0K10K1K20K2K30K3K11K4K21K5K31K.........
However, the mapping of the logic address and the physical address for using a table as shown in the table 1 has a disadvantage in that a large storage space is needed for the table because there is needed a table space corresponding to the number of the logic addresses.